A hard disk drive (HDD) is a magnetic storage device for storing and retrieving digital data using rotatable disks coated with magnetic materials. An HDD usually includes one or more rigid rotatable disks with magnetic heads arranged on a movable actuator arm to read and write data on the surfaces of the disks. The storage space of an HDD can be divided into a plurality of sectors. Data can be stored in individual sectors. The HDD can also have spare sectors as backups in case one or more sectors experience errors. An HDD may generally have two types of errors: write errors and read errors. A write error occurs when data cannot be successfully written into a sector. When such a write error occurs, the sector into which data cannot be successfully written is usually marked as a bad sector and data will then be reallocated to a different sector, such as a spare sector. A read error occurs when data cannot be successfully read from a sector. When such a read error occurs, however, the sector from which data cannot be read is usually marked as a pending sector, not as a bad sector followed by a reallocation process similar to the write error scenario. This is because the data stored in the pending sector cannot be reliably restored and therefore cannot be reallocated to a spare sector. Instead, the pending sector will be kept in record until updated data is written. If the updated data is successfully written into the pending sector, the pending sector will then be marked as a normal sector.
Performance issues arise, however, when the number of pending sectors becomes high, because additional resources of an HDD system have to be used to track, maintain, and manage the pending sectors. In fact, a high pending sector count on a run-time HDD is a major cause of performance loss. A large number of pending sectors occupy a significant amount of system resources and reduce system performance, causing lower bandwidth, longer latency, higher power consumption, etc.
The pending sector issue becomes worse when a sector repeatedly enters the pending sector status. One cause of such repeated occurrences of a pending sector status is that the sector is subject to media fatigue. A sector subject to media fatigue may retain data in a short period of time (e.g., a temporary retention time) after the data is written but may lose the data thereafter. As a result, the data may not be able to be read from the sector after the temporary retention time, leading to read errors and the pending sector status. However, upon arrival of updated data, the sector may be marked as normal because the updated data may still be successfully written into the sector and be read within a short period. If the updated data is to be read again after the temporary retention time, the sector may once again enter the pending sector status.
Current storage space management techniques do not distinguish media fatigue caused HDD pending sector incidences from other pending sector incidences. Therefore, sectors subject to media fatigue repeatedly enter pending sector status, keeping the pending sector count high and worsening the system performance. The present disclosure is directed to overcoming or mitigating one or more of these problems as set forth above.